package com.jc.domain.user;

import com.jc.base.page.Page;
import com.jc.repository.dict.user.UserBusiSetInfoTransType;
import com.jc.repository.dict.user.UserBusiSetInfoType;
import com.jc.repository.dict.user.UserBusiSetInfoNewFlag;
import com.jc.repository.dict.user.UserBusiSetInfoTransStatus;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class UserBusiSetInfoConditions {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Page page;

    private Date shardDate;

    public UserBusiSetInfoConditions() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setPage(Page page) {
        this.page = page;
    }

    public Page getPage() {
        return this.page;
    }

    public void setShardDate(Date shardDate) {
        this.shardDate = shardDate;
    }

    public Date getShardDate() {
        return this.shardDate;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> busiTypeCriteria;

        protected List<Criterion> newFlagCriteria;

        protected List<Criterion> transTypeCriteria;

        protected List<Criterion> transStatusCriteria;

        protected List<Criterion> allCriteria;

        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
            busiTypeCriteria = new ArrayList<Criterion>();
            newFlagCriteria = new ArrayList<Criterion>();
            transTypeCriteria = new ArrayList<Criterion>();
            transStatusCriteria = new ArrayList<Criterion>();
        }

        public List<Criterion> getBusiTypeCriteria() {
            return busiTypeCriteria;
        }

        protected void addBusiTypeCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            busiTypeCriteria.add(new Criterion(condition, value, "UserBusiSetInfoTypeHandler"));
            allCriteria = null;
        }

        protected void addBusiTypeCriterion(String condition, UserBusiSetInfoType value1, UserBusiSetInfoType value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            busiTypeCriteria.add(new Criterion(condition, value1, value2, "UserBusiSetInfoTypeHandler"));
            allCriteria = null;
        }

        public List<Criterion> getNewFlagCriteria() {
            return newFlagCriteria;
        }

        protected void addNewFlagCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            newFlagCriteria.add(new Criterion(condition, value, "UserBusiSetInfoNewFlagHandler"));
            allCriteria = null;
        }

        protected void addNewFlagCriterion(String condition, UserBusiSetInfoNewFlag value1, UserBusiSetInfoNewFlag value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            newFlagCriteria.add(new Criterion(condition, value1, value2, "UserBusiSetInfoNewFlagHandler"));
            allCriteria = null;
        }

        public List<Criterion> getTransTypeCriteria() {
            return transTypeCriteria;
        }

        protected void addTransTypeCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            transTypeCriteria.add(new Criterion(condition, value, "UserBusiSetInfoTransTypeHandler"));
            allCriteria = null;
        }

        protected void addTransTypeCriterion(String condition, UserBusiSetInfoTransType value1, UserBusiSetInfoTransType value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            transTypeCriteria.add(new Criterion(condition, value1, value2, "UserBusiSetInfoTransTypeHandler"));
            allCriteria = null;
        }

        public List<Criterion> getTransStatusCriteria() {
            return transStatusCriteria;
        }

        protected void addTransStatusCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            transStatusCriteria.add(new Criterion(condition, value, "UserBusiSetInfoTransStatusHandler"));
            allCriteria = null;
        }

        protected void addTransStatusCriterion(String condition, UserBusiSetInfoTransStatus value1, UserBusiSetInfoTransStatus value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            transStatusCriteria.add(new Criterion(condition, value1, value2, "UserBusiSetInfoTransStatusHandler"));
            allCriteria = null;
        }

        public boolean isValid() {
            return criteria.size() > 0
                || busiTypeCriteria.size() > 0
                || newFlagCriteria.size() > 0
                || transTypeCriteria.size() > 0
                || transStatusCriteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            if (allCriteria == null) {
                allCriteria = new ArrayList<Criterion>();
                allCriteria.addAll(criteria);
                allCriteria.addAll(busiTypeCriteria);
                allCriteria.addAll(newFlagCriteria);
                allCriteria.addAll(transTypeCriteria);
                allCriteria.addAll(transStatusCriteria);
            }
            return allCriteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
            allCriteria = null;
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
            allCriteria = null;
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
            allCriteria = null;
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andSaleUserIdIsNull() {
            addCriterion("sale_user_id is null");
            return (Criteria) this;
        }

        public Criteria andSaleUserIdIsNotNull() {
            addCriterion("sale_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andSaleUserIdEqualTo(String value) {
            addCriterion("sale_user_id =", value, "saleUserId");
            return (Criteria) this;
        }

        public Criteria andSaleUserIdNotEqualTo(String value) {
            addCriterion("sale_user_id <>", value, "saleUserId");
            return (Criteria) this;
        }

        public Criteria andSaleUserIdGreaterThan(String value) {
            addCriterion("sale_user_id >", value, "saleUserId");
            return (Criteria) this;
        }

        public Criteria andSaleUserIdGreaterThanOrEqualTo(String value) {
            addCriterion("sale_user_id >=", value, "saleUserId");
            return (Criteria) this;
        }

        public Criteria andSaleUserIdLessThan(String value) {
            addCriterion("sale_user_id <", value, "saleUserId");
            return (Criteria) this;
        }

        public Criteria andSaleUserIdLessThanOrEqualTo(String value) {
            addCriterion("sale_user_id <=", value, "saleUserId");
            return (Criteria) this;
        }

        public Criteria andSaleUserIdLike(String value) {
            addCriterion("sale_user_id like", value, "saleUserId");
            return (Criteria) this;
        }

        public Criteria andSaleUserIdNotLike(String value) {
            addCriterion("sale_user_id not like", value, "saleUserId");
            return (Criteria) this;
        }

        public Criteria andSaleUserIdIn(List<String> values) {
            addCriterion("sale_user_id in", values, "saleUserId");
            return (Criteria) this;
        }

        public Criteria andSaleUserIdNotIn(List<String> values) {
            addCriterion("sale_user_id not in", values, "saleUserId");
            return (Criteria) this;
        }

        public Criteria andSaleUserIdBetween(String value1, String value2) {
            addCriterion("sale_user_id between", value1, value2, "saleUserId");
            return (Criteria) this;
        }

        public Criteria andSaleUserIdNotBetween(String value1, String value2) {
            addCriterion("sale_user_id not between", value1, value2, "saleUserId");
            return (Criteria) this;
        }

        public Criteria andBuyUserIdIsNull() {
            addCriterion("buy_user_id is null");
            return (Criteria) this;
        }

        public Criteria andBuyUserIdIsNotNull() {
            addCriterion("buy_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andBuyUserIdEqualTo(String value) {
            addCriterion("buy_user_id =", value, "buyUserId");
            return (Criteria) this;
        }

        public Criteria andBuyUserIdNotEqualTo(String value) {
            addCriterion("buy_user_id <>", value, "buyUserId");
            return (Criteria) this;
        }

        public Criteria andBuyUserIdGreaterThan(String value) {
            addCriterion("buy_user_id >", value, "buyUserId");
            return (Criteria) this;
        }

        public Criteria andBuyUserIdGreaterThanOrEqualTo(String value) {
            addCriterion("buy_user_id >=", value, "buyUserId");
            return (Criteria) this;
        }

        public Criteria andBuyUserIdLessThan(String value) {
            addCriterion("buy_user_id <", value, "buyUserId");
            return (Criteria) this;
        }

        public Criteria andBuyUserIdLessThanOrEqualTo(String value) {
            addCriterion("buy_user_id <=", value, "buyUserId");
            return (Criteria) this;
        }

        public Criteria andBuyUserIdLike(String value) {
            addCriterion("buy_user_id like", value, "buyUserId");
            return (Criteria) this;
        }

        public Criteria andBuyUserIdNotLike(String value) {
            addCriterion("buy_user_id not like", value, "buyUserId");
            return (Criteria) this;
        }

        public Criteria andBuyUserIdIn(List<String> values) {
            addCriterion("buy_user_id in", values, "buyUserId");
            return (Criteria) this;
        }

        public Criteria andBuyUserIdNotIn(List<String> values) {
            addCriterion("buy_user_id not in", values, "buyUserId");
            return (Criteria) this;
        }

        public Criteria andBuyUserIdBetween(String value1, String value2) {
            addCriterion("buy_user_id between", value1, value2, "buyUserId");
            return (Criteria) this;
        }

        public Criteria andBuyUserIdNotBetween(String value1, String value2) {
            addCriterion("buy_user_id not between", value1, value2, "buyUserId");
            return (Criteria) this;
        }

        public Criteria andToySetIdIsNull() {
            addCriterion("toy_set_id is null");
            return (Criteria) this;
        }

        public Criteria andToySetIdIsNotNull() {
            addCriterion("toy_set_id is not null");
            return (Criteria) this;
        }

        public Criteria andToySetIdEqualTo(String value) {
            addCriterion("toy_set_id =", value, "toySetId");
            return (Criteria) this;
        }

        public Criteria andToySetIdNotEqualTo(String value) {
            addCriterion("toy_set_id <>", value, "toySetId");
            return (Criteria) this;
        }

        public Criteria andToySetIdGreaterThan(String value) {
            addCriterion("toy_set_id >", value, "toySetId");
            return (Criteria) this;
        }

        public Criteria andToySetIdGreaterThanOrEqualTo(String value) {
            addCriterion("toy_set_id >=", value, "toySetId");
            return (Criteria) this;
        }

        public Criteria andToySetIdLessThan(String value) {
            addCriterion("toy_set_id <", value, "toySetId");
            return (Criteria) this;
        }

        public Criteria andToySetIdLessThanOrEqualTo(String value) {
            addCriterion("toy_set_id <=", value, "toySetId");
            return (Criteria) this;
        }

        public Criteria andToySetIdLike(String value) {
            addCriterion("toy_set_id like", value, "toySetId");
            return (Criteria) this;
        }

        public Criteria andToySetIdNotLike(String value) {
            addCriterion("toy_set_id not like", value, "toySetId");
            return (Criteria) this;
        }

        public Criteria andToySetIdIn(List<String> values) {
            addCriterion("toy_set_id in", values, "toySetId");
            return (Criteria) this;
        }

        public Criteria andToySetIdNotIn(List<String> values) {
            addCriterion("toy_set_id not in", values, "toySetId");
            return (Criteria) this;
        }

        public Criteria andToySetIdBetween(String value1, String value2) {
            addCriterion("toy_set_id between", value1, value2, "toySetId");
            return (Criteria) this;
        }

        public Criteria andToySetIdNotBetween(String value1, String value2) {
            addCriterion("toy_set_id not between", value1, value2, "toySetId");
            return (Criteria) this;
        }

        public Criteria andBusiTypeIsNull() {
            addCriterion("busi_type is null");
            return (Criteria) this;
        }

        public Criteria andBusiTypeIsNotNull() {
            addCriterion("busi_type is not null");
            return (Criteria) this;
        }

        public Criteria andBusiTypeEqualTo(UserBusiSetInfoType value) {
            addBusiTypeCriterion("busi_type =", value, "busiType");
            return (Criteria) this;
        }

        public Criteria andBusiTypeNotEqualTo(UserBusiSetInfoType value) {
            addBusiTypeCriterion("busi_type <>", value, "busiType");
            return (Criteria) this;
        }

        public Criteria andBusiTypeGreaterThan(UserBusiSetInfoType value) {
            addBusiTypeCriterion("busi_type >", value, "busiType");
            return (Criteria) this;
        }

        public Criteria andBusiTypeGreaterThanOrEqualTo(UserBusiSetInfoType value) {
            addBusiTypeCriterion("busi_type >=", value, "busiType");
            return (Criteria) this;
        }

        public Criteria andBusiTypeLessThan(UserBusiSetInfoType value) {
            addBusiTypeCriterion("busi_type <", value, "busiType");
            return (Criteria) this;
        }

        public Criteria andBusiTypeLessThanOrEqualTo(UserBusiSetInfoType value) {
            addBusiTypeCriterion("busi_type <=", value, "busiType");
            return (Criteria) this;
        }

        public Criteria andBusiTypeIn(List<UserBusiSetInfoType> values) {
            addBusiTypeCriterion("busi_type in", values, "busiType");
            return (Criteria) this;
        }

        public Criteria andBusiTypeNotIn(List<UserBusiSetInfoType> values) {
            addBusiTypeCriterion("busi_type not in", values, "busiType");
            return (Criteria) this;
        }

        public Criteria andBusiTypeBetween(UserBusiSetInfoType value1, UserBusiSetInfoType value2) {
            addBusiTypeCriterion("busi_type between", value1, value2, "busiType");
            return (Criteria) this;
        }

        public Criteria andBusiTypeNotBetween(UserBusiSetInfoType value1, UserBusiSetInfoType value2) {
            addBusiTypeCriterion("busi_type not between", value1, value2, "busiType");
            return (Criteria) this;
        }

        public Criteria andAmountIsNull() {
            addCriterion("amount is null");
            return (Criteria) this;
        }

        public Criteria andAmountIsNotNull() {
            addCriterion("amount is not null");
            return (Criteria) this;
        }

        public Criteria andAmountEqualTo(Integer value) {
            addCriterion("amount =", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountNotEqualTo(Integer value) {
            addCriterion("amount <>", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountGreaterThan(Integer value) {
            addCriterion("amount >", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountGreaterThanOrEqualTo(Integer value) {
            addCriterion("amount >=", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountLessThan(Integer value) {
            addCriterion("amount <", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountLessThanOrEqualTo(Integer value) {
            addCriterion("amount <=", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountIn(List<Integer> values) {
            addCriterion("amount in", values, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountNotIn(List<Integer> values) {
            addCriterion("amount not in", values, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountBetween(Integer value1, Integer value2) {
            addCriterion("amount between", value1, value2, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountNotBetween(Integer value1, Integer value2) {
            addCriterion("amount not between", value1, value2, "amount");
            return (Criteria) this;
        }

        public Criteria andBuyPriceIsNull() {
            addCriterion("buy_price is null");
            return (Criteria) this;
        }

        public Criteria andBuyPriceIsNotNull() {
            addCriterion("buy_price is not null");
            return (Criteria) this;
        }

        public Criteria andBuyPriceEqualTo(Double value) {
            addCriterion("buy_price =", value, "buyPrice");
            return (Criteria) this;
        }

        public Criteria andBuyPriceNotEqualTo(Double value) {
            addCriterion("buy_price <>", value, "buyPrice");
            return (Criteria) this;
        }

        public Criteria andBuyPriceGreaterThan(Double value) {
            addCriterion("buy_price >", value, "buyPrice");
            return (Criteria) this;
        }

        public Criteria andBuyPriceGreaterThanOrEqualTo(Double value) {
            addCriterion("buy_price >=", value, "buyPrice");
            return (Criteria) this;
        }

        public Criteria andBuyPriceLessThan(Double value) {
            addCriterion("buy_price <", value, "buyPrice");
            return (Criteria) this;
        }

        public Criteria andBuyPriceLessThanOrEqualTo(Double value) {
            addCriterion("buy_price <=", value, "buyPrice");
            return (Criteria) this;
        }

        public Criteria andBuyPriceIn(List<Double> values) {
            addCriterion("buy_price in", values, "buyPrice");
            return (Criteria) this;
        }

        public Criteria andBuyPriceNotIn(List<Double> values) {
            addCriterion("buy_price not in", values, "buyPrice");
            return (Criteria) this;
        }

        public Criteria andBuyPriceBetween(Double value1, Double value2) {
            addCriterion("buy_price between", value1, value2, "buyPrice");
            return (Criteria) this;
        }

        public Criteria andBuyPriceNotBetween(Double value1, Double value2) {
            addCriterion("buy_price not between", value1, value2, "buyPrice");
            return (Criteria) this;
        }

        public Criteria andNewFlagIsNull() {
            addCriterion("new_flag is null");
            return (Criteria) this;
        }

        public Criteria andNewFlagIsNotNull() {
            addCriterion("new_flag is not null");
            return (Criteria) this;
        }

        public Criteria andNewFlagEqualTo(UserBusiSetInfoNewFlag value) {
            addNewFlagCriterion("new_flag =", value, "newFlag");
            return (Criteria) this;
        }

        public Criteria andNewFlagNotEqualTo(UserBusiSetInfoNewFlag value) {
            addNewFlagCriterion("new_flag <>", value, "newFlag");
            return (Criteria) this;
        }

        public Criteria andNewFlagGreaterThan(UserBusiSetInfoNewFlag value) {
            addNewFlagCriterion("new_flag >", value, "newFlag");
            return (Criteria) this;
        }

        public Criteria andNewFlagGreaterThanOrEqualTo(UserBusiSetInfoNewFlag value) {
            addNewFlagCriterion("new_flag >=", value, "newFlag");
            return (Criteria) this;
        }

        public Criteria andNewFlagLessThan(UserBusiSetInfoNewFlag value) {
            addNewFlagCriterion("new_flag <", value, "newFlag");
            return (Criteria) this;
        }

        public Criteria andNewFlagLessThanOrEqualTo(UserBusiSetInfoNewFlag value) {
            addNewFlagCriterion("new_flag <=", value, "newFlag");
            return (Criteria) this;
        }

        public Criteria andNewFlagIn(List<UserBusiSetInfoNewFlag> values) {
            addNewFlagCriterion("new_flag in", values, "newFlag");
            return (Criteria) this;
        }

        public Criteria andNewFlagNotIn(List<UserBusiSetInfoNewFlag> values) {
            addNewFlagCriterion("new_flag not in", values, "newFlag");
            return (Criteria) this;
        }

        public Criteria andNewFlagBetween(UserBusiSetInfoNewFlag value1, UserBusiSetInfoNewFlag value2) {
            addNewFlagCriterion("new_flag between", value1, value2, "newFlag");
            return (Criteria) this;
        }

        public Criteria andNewFlagNotBetween(UserBusiSetInfoNewFlag value1, UserBusiSetInfoNewFlag value2) {
            addNewFlagCriterion("new_flag not between", value1, value2, "newFlag");
            return (Criteria) this;
        }

        public Criteria andTransPriceIsNull() {
            addCriterion("trans_price is null");
            return (Criteria) this;
        }

        public Criteria andTransPriceIsNotNull() {
            addCriterion("trans_price is not null");
            return (Criteria) this;
        }

        public Criteria andTransPriceEqualTo(String value) {
            addCriterion("trans_price =", value, "transPrice");
            return (Criteria) this;
        }

        public Criteria andTransPriceNotEqualTo(String value) {
            addCriterion("trans_price <>", value, "transPrice");
            return (Criteria) this;
        }

        public Criteria andTransPriceGreaterThan(String value) {
            addCriterion("trans_price >", value, "transPrice");
            return (Criteria) this;
        }

        public Criteria andTransPriceGreaterThanOrEqualTo(String value) {
            addCriterion("trans_price >=", value, "transPrice");
            return (Criteria) this;
        }

        public Criteria andTransPriceLessThan(String value) {
            addCriterion("trans_price <", value, "transPrice");
            return (Criteria) this;
        }

        public Criteria andTransPriceLessThanOrEqualTo(String value) {
            addCriterion("trans_price <=", value, "transPrice");
            return (Criteria) this;
        }

        public Criteria andTransPriceLike(String value) {
            addCriterion("trans_price like", value, "transPrice");
            return (Criteria) this;
        }

        public Criteria andTransPriceNotLike(String value) {
            addCriterion("trans_price not like", value, "transPrice");
            return (Criteria) this;
        }

        public Criteria andTransPriceIn(List<String> values) {
            addCriterion("trans_price in", values, "transPrice");
            return (Criteria) this;
        }

        public Criteria andTransPriceNotIn(List<String> values) {
            addCriterion("trans_price not in", values, "transPrice");
            return (Criteria) this;
        }

        public Criteria andTransPriceBetween(String value1, String value2) {
            addCriterion("trans_price between", value1, value2, "transPrice");
            return (Criteria) this;
        }

        public Criteria andTransPriceNotBetween(String value1, String value2) {
            addCriterion("trans_price not between", value1, value2, "transPrice");
            return (Criteria) this;
        }

        public Criteria andTransTypeIsNull() {
            addCriterion("trans_type is null");
            return (Criteria) this;
        }

        public Criteria andTransTypeIsNotNull() {
            addCriterion("trans_type is not null");
            return (Criteria) this;
        }

        public Criteria andTransTypeEqualTo(UserBusiSetInfoTransType value) {
            addTransTypeCriterion("trans_type =", value, "transType");
            return (Criteria) this;
        }

        public Criteria andTransTypeNotEqualTo(UserBusiSetInfoTransType value) {
            addTransTypeCriterion("trans_type <>", value, "transType");
            return (Criteria) this;
        }

        public Criteria andTransTypeGreaterThan(UserBusiSetInfoTransType value) {
            addTransTypeCriterion("trans_type >", value, "transType");
            return (Criteria) this;
        }

        public Criteria andTransTypeGreaterThanOrEqualTo(UserBusiSetInfoTransType value) {
            addTransTypeCriterion("trans_type >=", value, "transType");
            return (Criteria) this;
        }

        public Criteria andTransTypeLessThan(UserBusiSetInfoTransType value) {
            addTransTypeCriterion("trans_type <", value, "transType");
            return (Criteria) this;
        }

        public Criteria andTransTypeLessThanOrEqualTo(UserBusiSetInfoTransType value) {
            addTransTypeCriterion("trans_type <=", value, "transType");
            return (Criteria) this;
        }

        public Criteria andTransTypeIn(List<UserBusiSetInfoTransType> values) {
            addTransTypeCriterion("trans_type in", values, "transType");
            return (Criteria) this;
        }

        public Criteria andTransTypeNotIn(List<UserBusiSetInfoTransType> values) {
            addTransTypeCriterion("trans_type not in", values, "transType");
            return (Criteria) this;
        }

        public Criteria andTransTypeBetween(UserBusiSetInfoTransType value1, UserBusiSetInfoTransType value2) {
            addTransTypeCriterion("trans_type between", value1, value2, "transType");
            return (Criteria) this;
        }

        public Criteria andTransTypeNotBetween(UserBusiSetInfoTransType value1, UserBusiSetInfoTransType value2) {
            addTransTypeCriterion("trans_type not between", value1, value2, "transType");
            return (Criteria) this;
        }

        public Criteria andTransAreaIdIsNull() {
            addCriterion("trans_area_id is null");
            return (Criteria) this;
        }

        public Criteria andTransAreaIdIsNotNull() {
            addCriterion("trans_area_id is not null");
            return (Criteria) this;
        }

        public Criteria andTransAreaIdEqualTo(String value) {
            addCriterion("trans_area_id =", value, "transAreaId");
            return (Criteria) this;
        }

        public Criteria andTransAreaIdNotEqualTo(String value) {
            addCriterion("trans_area_id <>", value, "transAreaId");
            return (Criteria) this;
        }

        public Criteria andTransAreaIdGreaterThan(String value) {
            addCriterion("trans_area_id >", value, "transAreaId");
            return (Criteria) this;
        }

        public Criteria andTransAreaIdGreaterThanOrEqualTo(String value) {
            addCriterion("trans_area_id >=", value, "transAreaId");
            return (Criteria) this;
        }

        public Criteria andTransAreaIdLessThan(String value) {
            addCriterion("trans_area_id <", value, "transAreaId");
            return (Criteria) this;
        }

        public Criteria andTransAreaIdLessThanOrEqualTo(String value) {
            addCriterion("trans_area_id <=", value, "transAreaId");
            return (Criteria) this;
        }

        public Criteria andTransAreaIdLike(String value) {
            addCriterion("trans_area_id like", value, "transAreaId");
            return (Criteria) this;
        }

        public Criteria andTransAreaIdNotLike(String value) {
            addCriterion("trans_area_id not like", value, "transAreaId");
            return (Criteria) this;
        }

        public Criteria andTransAreaIdIn(List<String> values) {
            addCriterion("trans_area_id in", values, "transAreaId");
            return (Criteria) this;
        }

        public Criteria andTransAreaIdNotIn(List<String> values) {
            addCriterion("trans_area_id not in", values, "transAreaId");
            return (Criteria) this;
        }

        public Criteria andTransAreaIdBetween(String value1, String value2) {
            addCriterion("trans_area_id between", value1, value2, "transAreaId");
            return (Criteria) this;
        }

        public Criteria andTransAreaIdNotBetween(String value1, String value2) {
            addCriterion("trans_area_id not between", value1, value2, "transAreaId");
            return (Criteria) this;
        }

        public Criteria andTransStatusIsNull() {
            addCriterion("trans_status is null");
            return (Criteria) this;
        }

        public Criteria andTransStatusIsNotNull() {
            addCriterion("trans_status is not null");
            return (Criteria) this;
        }

        public Criteria andTransStatusEqualTo(UserBusiSetInfoTransStatus value) {
            addTransStatusCriterion("trans_status =", value, "transStatus");
            return (Criteria) this;
        }

        public Criteria andTransStatusNotEqualTo(UserBusiSetInfoTransStatus value) {
            addTransStatusCriterion("trans_status <>", value, "transStatus");
            return (Criteria) this;
        }

        public Criteria andTransStatusGreaterThan(UserBusiSetInfoTransStatus value) {
            addTransStatusCriterion("trans_status >", value, "transStatus");
            return (Criteria) this;
        }

        public Criteria andTransStatusGreaterThanOrEqualTo(UserBusiSetInfoTransStatus value) {
            addTransStatusCriterion("trans_status >=", value, "transStatus");
            return (Criteria) this;
        }

        public Criteria andTransStatusLessThan(UserBusiSetInfoTransStatus value) {
            addTransStatusCriterion("trans_status <", value, "transStatus");
            return (Criteria) this;
        }

        public Criteria andTransStatusLessThanOrEqualTo(UserBusiSetInfoTransStatus value) {
            addTransStatusCriterion("trans_status <=", value, "transStatus");
            return (Criteria) this;
        }

        public Criteria andTransStatusIn(List<UserBusiSetInfoTransStatus> values) {
            addTransStatusCriterion("trans_status in", values, "transStatus");
            return (Criteria) this;
        }

        public Criteria andTransStatusNotIn(List<UserBusiSetInfoTransStatus> values) {
            addTransStatusCriterion("trans_status not in", values, "transStatus");
            return (Criteria) this;
        }

        public Criteria andTransStatusBetween(UserBusiSetInfoTransStatus value1, UserBusiSetInfoTransStatus value2) {
            addTransStatusCriterion("trans_status between", value1, value2, "transStatus");
            return (Criteria) this;
        }

        public Criteria andTransStatusNotBetween(UserBusiSetInfoTransStatus value1, UserBusiSetInfoTransStatus value2) {
            addTransStatusCriterion("trans_status not between", value1, value2, "transStatus");
            return (Criteria) this;
        }

        public Criteria andCreatedAtIsNull() {
            addCriterion("created_at is null");
            return (Criteria) this;
        }

        public Criteria andCreatedAtIsNotNull() {
            addCriterion("created_at is not null");
            return (Criteria) this;
        }

        public Criteria andCreatedAtEqualTo(Date value) {
            addCriterion("created_at =", value, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtNotEqualTo(Date value) {
            addCriterion("created_at <>", value, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtGreaterThan(Date value) {
            addCriterion("created_at >", value, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) {
            addCriterion("created_at >=", value, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtLessThan(Date value) {
            addCriterion("created_at <", value, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtLessThanOrEqualTo(Date value) {
            addCriterion("created_at <=", value, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtIn(List<Date> values) {
            addCriterion("created_at in", values, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtNotIn(List<Date> values) {
            addCriterion("created_at not in", values, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtBetween(Date value1, Date value2) {
            addCriterion("created_at between", value1, value2, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtNotBetween(Date value1, Date value2) {
            addCriterion("created_at not between", value1, value2, "createdAt");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtIsNull() {
            addCriterion("updated_at is null");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtIsNotNull() {
            addCriterion("updated_at is not null");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtEqualTo(Date value) {
            addCriterion("updated_at =", value, "updatedAt");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtNotEqualTo(Date value) {
            addCriterion("updated_at <>", value, "updatedAt");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtGreaterThan(Date value) {
            addCriterion("updated_at >", value, "updatedAt");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) {
            addCriterion("updated_at >=", value, "updatedAt");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtLessThan(Date value) {
            addCriterion("updated_at <", value, "updatedAt");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtLessThanOrEqualTo(Date value) {
            addCriterion("updated_at <=", value, "updatedAt");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtIn(List<Date> values) {
            addCriterion("updated_at in", values, "updatedAt");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtNotIn(List<Date> values) {
            addCriterion("updated_at not in", values, "updatedAt");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtBetween(Date value1, Date value2) {
            addCriterion("updated_at between", value1, value2, "updatedAt");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtNotBetween(Date value1, Date value2) {
            addCriterion("updated_at not between", value1, value2, "updatedAt");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNull() {
            addCriterion("remarks is null");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNotNull() {
            addCriterion("remarks is not null");
            return (Criteria) this;
        }

        public Criteria andRemarksEqualTo(String value) {
            addCriterion("remarks =", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotEqualTo(String value) {
            addCriterion("remarks <>", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThan(String value) {
            addCriterion("remarks >", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThanOrEqualTo(String value) {
            addCriterion("remarks >=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThan(String value) {
            addCriterion("remarks <", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThanOrEqualTo(String value) {
            addCriterion("remarks <=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLike(String value) {
            addCriterion("remarks like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotLike(String value) {
            addCriterion("remarks not like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksIn(List<String> values) {
            addCriterion("remarks in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotIn(List<String> values) {
            addCriterion("remarks not in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksBetween(String value1, String value2) {
            addCriterion("remarks between", value1, value2, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotBetween(String value1, String value2) {
            addCriterion("remarks not between", value1, value2, "remarks");
            return (Criteria) this;
        }

        public Criteria andSaleUserIdLikeInsensitive(String value) {
            addCriterion("upper(sale_user_id) like", value.toUpperCase(), "saleUserId");
            return (Criteria) this;
        }

        public Criteria andBuyUserIdLikeInsensitive(String value) {
            addCriterion("upper(buy_user_id) like", value.toUpperCase(), "buyUserId");
            return (Criteria) this;
        }

        public Criteria andToySetIdLikeInsensitive(String value) {
            addCriterion("upper(toy_set_id) like", value.toUpperCase(), "toySetId");
            return (Criteria) this;
        }

        public Criteria andTransPriceLikeInsensitive(String value) {
            addCriterion("upper(trans_price) like", value.toUpperCase(), "transPrice");
            return (Criteria) this;
        }

        public Criteria andTransAreaIdLikeInsensitive(String value) {
            addCriterion("upper(trans_area_id) like", value.toUpperCase(), "transAreaId");
            return (Criteria) this;
        }

        public Criteria andRemarksLikeInsensitive(String value) {
            addCriterion("upper(remarks) like", value.toUpperCase(), "remarks");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}